草庐IT

c++ - OpenCV Visual Studio ntdll.dll

全部标签

c++ - 如何确定哪个 Windows DLL 正在用于函数调用?

我一直在研究_vsnprintf并了解到它在ntdll.dll和msvcrt.dll中可用。我可以使用GetModuleHandle和GetProcAddress来访问_vsnprintf,例如:staticint(__cdecl*p__vsnprintf)(char*str,size_tcount,constchar*format,va_listvalist);staticvoidinit(constchar*dll){HMODULEhmod=GetModuleHandleA(dll);if(hmod){printf("***Testing%s***\n",dll);p__vsnpr

windows - mylibrary.dll_unloaded 出现 BEX64 错误

我有一个使用LoadLibrary动态打开DLL(mylibrary.dll)的可执行文件。当应用程序完成时,它崩溃了。浏览错误报告,结果发现它给出了一个事件类型BEX64。其中一个参数是mylibrary.dll_unloaded。剩下的就是一堆地址。有谁知道这意味着什么以及问题的可能来源是什么?我可以访问所有相关代码的源代码。 最佳答案 我前段时间遇到了同样的问题。当我在退出时调用FreeLibrary()时,程序崩溃了。原因是一个正在运行的线程,它是由我的图书馆启动的。在调用FreeLibrary()之前检查库中是否有任何正在

c - 写入文件时获得不同的输出

我编写了一个程序来保存足球队的统计数据。我将统计数据保存在一个文件中,并将所有匹配项记录在另一个名为“record.txt”的文件中。在我的record.txt文件中,写的格式是:[opponentname][currentdate]我面临的问题是,有时我在一行中得到“对手姓名”“日期”,有时日期在新行中开始这是我得到的图像picofoutputfile这是我的代码time_trawtime;structtm*timeinfo;charbuffer[80];time(&rawtime);timeinfo=localtime(&rawtime);strftime(buffer,80,"%

c++ - 可移植可执行 DOS header 长度

我一直在研究这个图像来构建一个可移植的可执行文件:https://i.imgur.com/LIImg.jpg图像/演练表示PEheader从0x40(十进制为64)开始。但是,十六进制转储显示DOSheader的长度为32字节。每个字段是否以4个字节打包?查看WinNT.h中的IMAGE_DOS_HEADER,好像也不合适。它有16个2字节的字段,一个4长度的2字节数组,一个10长度的2字节数组,以及指向PE位置的4字节指针。无论你怎么看,它加起来都不等于64... 最佳答案 However,thehexadecimaldumpsa

c - 在命令提示符下生成一个 "readable"退格键

如何在命令提示符下生成“可读”退格键?我有一个微型C应用程序,我正在尝试使用getchar()方法从输入中读取退格键。是否有任何组合键可以触发它(并且仍然能够捕获它)?(类似于Ctrl-Z触发EOF) 最佳答案 退格键很特别!通常您需要使用一些原始/无缓冲的键盘I/O模式来捕获它。在Windows上,您可能想尝试使用getch而不是getchar。另请参阅:Whatisthedifferencebetweengetch()andgetchar()? 关于c-在命令提示符下生成一个"rea

c - Linux (gcc) 和 Windows (mingw32 gcc) 之间具有不同位域的结构大小

类似的问题,但特定于打包结构:WhywouldthesizeofapackedstructurebedifferentonLinuxandWindowswhenusinggcc?我正在为Linux和Windows构建一个共享库,它需要通过网络连接处理结构良好的数据。我在Linux上使用gcc4.8.2,并使用i686-pc-mingw32-gcc4.8.1为Windows目标交叉编译。我制作了这个小程序来演示这个问题(请注意GCC属性已被注释掉,保留它们以供引用):#include#include#includetypedefuint16_tword_t;typedefenum//__

c - 从另一个 exe 运行 exe

我正在尝试编写一个程序,该程序使用一些参数在同一文件夹中运行其他可执行文件,此exe是来自poppler-utils的pdftotext.exe,它会生成一个文本文件。我准备了一个字符串作为参数传递给system(),结果字符串是:cd/DN:\folder0\folder1\folder2\foldern&&pdftotext.exedata.pdf-layout-nopgbrk首先进入文件目录,然后运行可执行文件。当我运行它时,我总是得到sh:cd/D:Nosuchfileordirectory但如果我直接从命令提示符运行该命令,该命令会起作用。我认为这不重要,但这是我到目前为止所

c++ - Qt 在 Windows 中部署应用程序需要的 dll

mingw编译器目录中有一个工具,当以输出的exe文件作为参数调用时,它会将所有需要的dll复制到当前目录。我不记得名字了,我在互联网上找不到它。有谁知道它叫什么? 最佳答案 该工具称为windeployqt。 关于c++-Qt在Windows中部署应用程序需要的dll,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/31687093/

c - 如何使用文件函数从内存中的字符串中读取数据

我有一个从文件中读取数据的函数(即它被传递给一个FILE*)。我想要完成的是使用该函数从字符串中读取数据,即我想将字符串中的数据视为物理文件中的数据(例如使用fgets、fseek等),所以实际上是一个内存文件。我试图通过setvbuf将数据字符串与/dev/null(NUL)文件相关联(类似于我在thisstackoverflowquestion中读到的内容),但要么我做错了,要么不是这样做的。谁能帮我用C实现这个,最好是以可移植的方式(实际上,我不介意使用特定于操作系统的函数/ifdef,只要它能工作并且不/太/复杂)。编辑:#include#include#defineNULL_

c++ - 是否有 API 可以将 FILETIME 格式的时间从 UTC 时间转换为本地时间?

我知道SystemTimeToTzSpecificLocalTimeAPI可以将UTC时间转换为本地时间,但需要SYSTEMTIME格式的时间。我很好奇是否有接受FILETIME格式的API?附言。我知道我可以通过使用FileTimeToSystemTime()然后使用SystemTimeToFileTime()来实现这一点。我只是想节省转换为SYSTEMTIME和返回的两个步骤。 最佳答案 看看FileTimeToLocalFileTime()Convertsa(UTC-based)filetimetoalocalfiletime